1. Field of the Invention
This invention relates generally to raster-scanned video graphics systems found in personal computers and work stations and particularly to a method and apparatus which allow a plurality of digital video sources to write pixels to a video display so that the values of the digital video words themselves determine which source the current pixel will come from. Such raster-scanned video graphics systems may include Extended Graphics Adaptor (EGA), Video Graphics Array (VGA), Super Video Graphics Array (SuperVGA), and others. These systems normally operate on the principle of clocking four to eight bit binary words from a display memory at the video clock rate of the display monitor. Each digital word represents one pixel on the raster of the monitor screen. The binary value of the clocked word usually addresses a register in an intermediate palette device. A system with four bit digital words can select up to sixteen palette registers; a system with eight bit digital words can select up to two hundred fifty six palette registers, etc. Each palette register contains a code representing a color in a color system or a shade of gray in a monochrome system to be displayed as the current pixel on the monitor. The clocked stream of digital words thus creates a stream of pixels to the monitor, each of possibly a different color.
2. Description of the Prior Art
The above described systems involve a single video memory containing words representing pixels on the display screen. Problems arise when there are multiple units of hardware that need to write pixels to the same display. Prior art teaches that, in order to place pixels from a secondary application on a display monitor so that they appear to overwrite areas of the display, the secondary application must preempt entire blocks or regions of pixels from the primary application. These regions are called windows and must be totally dedicated to the secondary application. They are usually manipulated by hardware switches that actually switch the display to a secondary source when the raster scan reaches a pre-defined position. Multi-media graphics systems allow various secondary hardware sources of pixel data to define windows of variable size and position. However, the secondary source must define the pixel values for every pixel in its window. While various windows can overwrite one-another either partially or totally, their priority is fixed so that a certain hardware source has a certain priority with respect to the other sources.
These systems do not allow an arbitrary pattern of selected pixels from a secondary application to apparently overwrite a background pattern except in a fixed window. Decisions as to where the window pixels will appear are made solely on the basis of position on the screen rather than data content and are not performed at the video clock rate of the system. Such multi-media applications allow the combining of two or more images on the same display screen where typically, one is the output of a computer graphics adaptor such as a VGA, and the other is a video source such as a laser disk. The laser disk provides "movie like" images with frames that are accessible randomly.
Such a system allows the user to define a window area in which to put the video from the other source. The system simply detects whether the raster scan position is in the defined area or out of it and routes the video information accordingly. A major drawback of such systems is that all of the data in the window must be provided by the video source designated for that window. The prior art does not teach how to display images from alternate video sources by apparently overlaying pixels that are from a lower priority image.
Several methods are known to place and manipulate isolated image patterns such as oscilloscope traces on a raster-scanned CRT tube or monitor. For example, Soethout et al. in U.S. Pat. No. 5,057,826 teach the placing of single pixels on television screens to form an oscilloscope image; however, the digital image data comes from a single source. Their method can display multiple waveforms at different screen positions, but there is no possibility of any background pattern. Brown et al. in U.S. Pat. No. 4,684,936 present alphanumeric and graphic data at different resolutions on the same display, but at different positions. Liebel et al. in U.S. Pat. No. 4,700,227 teach a method for producing a video signal representing a measuring signal that uses an analog filter to improve video quality. Brown et al. and Liebel et al. do not combine data from multiple sources.
Dubner in U.S. Pat. No. 4,849,746 provides smooth scrolling of a video image across a video display device. Nakamura in U.S. Pat. No. 4,464,656 samples an analog waveform and displays an interpolated pixel pattern as a continuous line on a video display with no background. Payne et al. in U.S. Pat. No. 4,634,970 teach the use of three display memory planes independently addressable to accommodate the difference between the data acquisition rate and the raster scan rate. Nakamura and Payne et al. do not address the problem of multiple video sources.
Graves et al. in U.S. Pat. No. 3,786,476 display acquired data from at least four sampled analog channels on a CRT display at the same time. However, the various channels are assigned different parts of the screen and never overwrite one another. They also teach the placing of alphanumeric characters near the waveform displays at fixed locations on the screen. The channel displays never overwrite the alphanumeric data, but they can move horizontally to continually update with new data.
The prior art fails to teach that digital video data from multiple sources can be combined on a pixel by pixel basis at video clock rates with routing decisions based on the data content of the current word from one or more of the sources. The present invention fills this gap and provides a much needed function in the field of digital video graphics. It particularly concerns a method and apparatus for combining clocked digital video words from a plurality of video sources in such a manner that a word from one of the sources is routed at each clock time to a digital raster-scanned video display or a palette device that controls such a display. The binary values of the words from the sources, in addition to specifying a color or shade of gray, determine which word will be routed to the display at each clock time. The purpose and utility of the present invention is to display graphics images from multiple sources in such a manner that it appears to an observer that data from one or more of the sources overwrites data from other sources in different parts of the display. This has the effect of apparently overlaying images in a complex manner.
Using the present invention, it is possible, for example, for a personal computer to supply a background pattern to an entire display, while a data source such as a digital oscilloscope can appear to overwrite the background with a typical oscilloscope trace. However, because the video words themselves determine which source will supply the current clocked pixel to the display, it is possible to also allow the computer to apparently overwrite the oscilloscope trace in selected parts of the display. This is useful if certain parts of the trace must be marked or annotated. The entire oscilloscope waveform can be provided without concern about the image underneath. The region of the display allocated to the oscilloscope can be filled with "empty pixels," ie. pixels that the invention will not route to the display (because they contain a certain binary value like zero for example) by the oscilloscope video data source in an associated video memory. Then the oscilloscope trace pattern can be written into this memory replacing "empty pixels." The present invention routes pixels from the oscilloscope pattern to the display overwriting the background supplied by the personal computer only with the oscilloscope trace because the "empty pixels" do not overwrite the background. This method allows complex backgrounds, for example, logarithmic graticules or even animated images, to be provided by the personal computer or other video source while eliminating the need for time consuming read-modify-write operations when placing the pixels of the waveform. The invention is not limited to the application in this example, but can combine data from any number of video sources from various applications. The invention works in conjunction with personal computer graphics systems including, but not limited to, EGA, VGA, SuperVGA and similar systems well known in the art for both color and monochrome monitors.